package com.jiesen.base.modules.login.jsLoginUser.model;

import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jiesen.base.modules.login.jsRole.model.JsRole;
import com.jiesen.base.utils.PageDto;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@TableName("sys_user")
public class JsLoginUser extends PageDto {

    @TableId(type = IdType.AUTO)
    private Integer id;            //用户ID
    @TableField("`sort`")
    @ApiModelProperty(value="排序",required=false)
    private Integer sort;         //排序
    private String email;      //邮箱登录
    private String telephone;     //手机号登录
    private String account;       //用户名登录
    private String password;      //密码
    private String name;          //姓名
    @TableField("`lock`")
    private Integer lock;          //是否锁定：1可用、0锁定、-1未激活
    private Integer type;          //用户类型：2管理员、0普通用户
    private String userPhoto;     //用户头像
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date uts;           //修改时间
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date cts;           //注册时间
    private String code;          //code
    private Integer branchId;    //分校

    //用户角色信息
    @TableField(exist = false)      //前端需要
    private List<JsRole> jsRoles;
    @TableField(exist = false)
    private String username;    //登录用户名 前端需要
    @TableField(exist = false)
    private List<Integer> rids;  //选择的角色名;
    @TableField(exist = false)
    private Integer uid;        //选择的角色名;
}